package entity.test09.demo03;

import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
/*
* */
public class MainTest01 {
    public static void main(String[] args) throws Exception {
        // 实例化 Person 对象 - JavaBean 对象
        Person bean = new Person("zing", 18);

        // 创建 PropertyDescriptor 对象
        PropertyDescriptor nameProperty = new
                PropertyDescriptor("name",
                Person.class);

        // 获取 name 属性对应的 getter 方法  - 读（read）
        Method readMethod = nameProperty.getReadMethod();

        // 获取 name 属性对应的 setter 方法  - 写（write）
        Method writeMethod = nameProperty.getWriteMethod();

        //这里把bean的原始值，改成 "张三"
        writeMethod.invoke(bean,"张三") ;
        //调用bean方法
        Object name = readMethod.invoke(bean);
        System.out.println("姓名：" + name);

    }
}
